package model.entities;

public enum MirrorOrientation {

	VERTICAL,
	HORIZONTAL,
	POSITIVE_SLOPE, 
	NEGATIVE_SLOPE,
	SLIGHT_RISE,
	STEEP_RISE,
	SLIGHT_DECLINE,
	STEEP_DECLINE;
	
	public MirrorOrientation increment() {
		
		switch(this) {
		case VERTICAL : return STEEP_RISE;
		case STEEP_RISE : return POSITIVE_SLOPE;
		case POSITIVE_SLOPE : return SLIGHT_RISE;
		case SLIGHT_RISE : return HORIZONTAL;
		case HORIZONTAL : return SLIGHT_DECLINE;
		case SLIGHT_DECLINE : return NEGATIVE_SLOPE;
		case NEGATIVE_SLOPE : return STEEP_DECLINE;
		case STEEP_DECLINE : return VERTICAL;
		default  :return null;
		}
		
	}
	
	public MirrorOrientation decrement() {
		
		switch(this) {
		case VERTICAL : return STEEP_DECLINE;
		case STEEP_DECLINE : return NEGATIVE_SLOPE;
		case NEGATIVE_SLOPE : return SLIGHT_DECLINE;
		case SLIGHT_DECLINE : return HORIZONTAL;
		case HORIZONTAL : return SLIGHT_RISE;
		case SLIGHT_RISE : return POSITIVE_SLOPE;
		case POSITIVE_SLOPE : return STEEP_RISE;
		case STEEP_RISE : return VERTICAL;
		default  :return null;
		}
		
	}
	
}
